package com.cs.framework.ui.web;

import com.cs.framework.common.util.StringUtils;
import com.cs.framework.ui.util.UIConstant;
import com.cs.framework.web.handler.Web;
import com.cs.framework.web.util.WebConstant;

/**
 * UI视图操作
 * 
 * @author hedongzhou
 *
 */
public class UI {

	/**
	 * 返回页面信息
	 * 
	 * @param pageId
	 *            页面ID
	 * @param data
	 *            页面数据
	 */
	public static void returnPage(String pageId) {
		returnPage(pageId, null);
	}

	/**
	 * 返回页面信息
	 * 
	 * @param pageId
	 *            页面ID
	 * @param data
	 *            页面数据
	 */
	public static void returnPage(String pageId, Object data) {
		returnView(UIConstant.VIEW_PATH_FOR_PAGE + pageId, null, data);
	}

	/**
	 * 返回面板信息
	 * 
	 * @param panelId
	 *            面板ID
	 * @param superPanelId
	 *            父面板ID
	 */
	public static void returnPanel(String panelId, String superPanelId) {
		returnView(UIConstant.VIEW_PATH_FOR_PANEL + panelId, superPanelId, null);
	}

	/**
	 * 返回字段信息
	 * 
	 * @param fieldId
	 *            字段ID
	 * @param superPanelId
	 *            父面板ID
	 */
	public static void returnField(String fieldId, String superPanelId) {
		returnView(UIConstant.VIEW_PATH_FOR_FIELD + fieldId, superPanelId, null);
	}

	/**
	 * 返回视图信息
	 * 
	 * @param viewId
	 *            页面控件ID
	 * @param superId
	 *            父控件ID
	 * @param data
	 *            页面数据
	 */
	public static void returnView(String viewId, String superId, Object data) {
		if (StringUtils.isNotBlank(superId)) {
			Web.addData(WebConstant.UI_SUPER_ID_KEY, superId);
		}
		if (data != null) {
			Web.addData(data);
		}
		Web.getViewInfo().setViewPath(viewId);
		Web.getViewInfo().setViewName(UIConstant.UI_VIEW_ID);
	}

}
